const path = require('path')
const resolve = (dir) => path.join(__dirname, dir)
//配置打包分析
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer')
  .BundleAnalyzerPlugin
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
//是否需要生产分析报告
const analyzer = false
const port = process.env.port || process.env.npm_config_port || 7070 // 端口
// vue.config.js
module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? '/' : '/',
  // 在npm run build 或 yarn build 时 ，生成文件的目录名称（要和baseUrl的生产环境路径一致）（默认dist）
  outputDir: 'dist',
  // 用于放置生成的静态资源 (js、css、img、fonts) 的；（项目打包之后，静态资源会放在这个文件夹下）
  assetsDir: 'static',

  // 是否开启eslint保存检测，有效值：ture | false | 'error'
  lintOnSave: process.env.NODE_ENV === 'development',
  // 如果你不需要生产环境的 source map，可以将其设置为 false 以加速生产环境构建。
  productionSourceMap: false,
  // webpack-dev-server 相关配置
  devServer: {
   
    proxy: {
      //配置跨域
      [process.env.VUE_APP_BASE_API]: {
        // target: 'http://111.198.60.33:9092', // 接口的域名
        // target: 'http://192.168.1.35:9092', // 星星
        // target: 'http://192.168.1.31:9092',
        //  target: 'http://192.168.1.35:9092',
        // target: 'http://127.0.0.1:9092', //打包地址
        target: 'http://121.52.212.68:9092', // 接口的域名
        // target: 'http://172.20.53.26:19092',
        // ws: true, // 是否启用websockets
        changOrigin: true, // 开启代理，在本地创建一个虚拟服务端
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: '',
        },
      },

      //   '/sec': {
      //     //目标路径
      //     target: 'http://172.20.50.48:21100',

      //     ws: true,
      //     //允许跨域
      //     changeOrigin: true,
      //     //重写路径
      //     pathRewrite: {
      //       '^/sec': '/',
      //     },
      //   },
    },
  },
  //vue-cli自动化导入：全局通用css
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'less',
      patterns: [path.resolve(__dirname, './src/style/common.less')],
    },
  },
  chainWebpack: (config) => {
    // 添加别名
    config.resolve.alias.set('@', resolve('src'))
    // 打包分析
    if (IS_PROD && analyzer) {
      config.plugin('webpack-report').use(BundleAnalyzerPlugin, [
        {
          analyzerMode: 'static',
        },
      ])
    }
  },
}
